Computing systems often use shared memory between the central processing unit and the graphical processing unit. Currently, the physical memory of the computing system is assigned at the time the computing system initialization. For example, one portion of memory is statically assigned for use by the central processing unit while another portion is statically assigned for use by the graphical processing unit. Because the memory is statically assigned at system initialization, e.g., system boot-up, if it is later determined during runtime that either the central processing unit or the graphical processing unit needs additional physical memory, it is not possible using currently available solutions to fulfill that need because the static allocation of physical memory cannot be changed during runtime.
Current solutions to accommodate an application's need for more memory are often inefficient, reduce system performance and/or reduce the number of simultaneously running applications. Accordingly, there may be a need for improved techniques to solve these and other problems.